/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.rm.entidades;

import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
 * 
 * @author ffbeltran
 */
@Entity
@Table(name = "exp_critico")
@NamedQueries( {
		@NamedQuery(name = "ExpCritico.findAll", query = "SELECT e FROM ExpCritico e"),
		@NamedQuery(name = "ExpCritico.findById", query = "SELECT e FROM ExpCritico e WHERE e.id = :id"),
		@NamedQuery(name = "ExpCritico.findByJugador", query = "SELECT e FROM ExpCritico e WHERE e.jugador = :jugador"),
		@NamedQuery(name = "ExpCritico.findByTipoCritico", query = "SELECT e FROM ExpCritico e WHERE e.tipoCritico = :tipoCritico"),
		@NamedQuery(name = "ExpCritico.findByEstado", query = "SELECT e FROM ExpCritico e WHERE e.estado = :estado"),
		@NamedQuery(name = "ExpCritico.findByNivelEnemigo", query = "SELECT e FROM ExpCritico e WHERE e.nivelEnemigo = :nivelEnemigo"),
		@NamedQuery(name = "ExpCritico.findByCompartido", query = "SELECT e FROM ExpCritico e WHERE e.compartido = :compartido"),
		@NamedQuery(name = "ExpCritico.findByIdPartida", query = "SELECT e FROM ExpCritico e WHERE e.idPartida = :idPartida") })
public class ExpCritico extends ExperienciaBase {
	private static final long serialVersionUID = 1L;

	@Basic(optional = false)
	@Column(name = "valor1")
	private int tipoCritico;
	@Basic(optional = false)
	@Column(name = "valor2")
	private double estado;
	@Basic(optional = false)
	@Column(name = "valor3")
	private int nivelEnemigo;

	public ExpCritico() {
	}

	public ExpCritico(Integer id) {
		super(id);
	}

	public int getTipoCritico() {
		return tipoCritico;
	}

	public void setTipoCritico(int TipoCritico) {
		this.tipoCritico = TipoCritico;
	}

	public double getEstado() {
		return estado;
	}

	public void setEstado(double valor2) {
		this.estado = valor2;
	}

	public int getNivelEnemigo() {
		return nivelEnemigo;
	}

	public void setNivelEnemigo(int valor3) {
		this.nivelEnemigo = valor3;
	}

	public void actualizaExp() {
		setExp((int) Math.ceil(getTipoCritico() * getEstado() * getNivelEnemigo()));
	}

	@Override
	public String toString() {
		return "org.rm.entidades.ExpCritico[id=" + super.getId() + "]";
	}
}
